/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package cn.icanci.coupon.form;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * @author icanci
 * @date Created in 2021/05/01 09:58
 * @version 1.0
 */
@SuppressWarnings("all")
@Data
@NoArgsConstructor
public class CouponVO {

    private Long       id;
    /**
     * 满的金额
     */
    private BigDecimal fullMoney;
    /**
     * 减的金额
     */
    private BigDecimal reduceMoney;
    /**
     * 优惠券描述
     */
    private String     des;
    /**
     * 优惠券使用类型
     */
    private Integer    couponType;
    /**
     * 优惠券编号
     */
    private String     couponNumber;
    /**
     * 有效时间开始
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       effectiveStartTime;
    /**
     * 有效时间结束
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       effectiveEndTime;
    /**
     * 领券开始时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       startTime;
    /**
     * 领券截至时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       endTime;
    /**
     * 一共多少张
     */
    private Integer    totalNum;
    /**
     * 1 在线 0 下架 2被占用 3 被使用
     */
    private Integer    status;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       createTime;
    /**
     * 更新时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       updateTime;
    /**
     * 0 删除 1未删除
     */
    private Integer    deleted;
    /**
     * 同一批次优惠券唯一键
     */
    private String     uniqueKey;
    /**
     * 优惠券起飞城市
     */
    private String     startCity;
    /**
     * 优惠券抵达城市
     */
    private String     endCity;
    /**
     * 被占用的个数
     */
    private Integer    occupyCount;
    /**
     * 被使用的个数
     */
    private Integer    usedCount;

    /**
     * 在线
     */
    private Integer    onlineCount;
}
